package vip.xiaonuo.supplier.modular.base.productions.param;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 商品信息添加参数
 *
 * @author Mr.wu
 * @date  2025/03/15 10:46
 **/
@Getter
@Setter
public class SupplierProductionsAddParam {

    /** 商品编码 */
    @Schema(description = "商品编码")
    private String productionCode;

    /** 主条码 */
    @Schema(description = "主条码")
    private String productionBarcode;

    /** 商品名称 */
    @Schema(description = "商品名称")
    private String productionName;

    /** 拼音码 */
    @Schema(description = "拼音码")
    private String productionPinyincode;

    /** 商品标题 */
    @Schema(description = "商品标题")
    private String productionTitle;

    /** 品牌 */
    @Schema(description = "品牌")
    private String productionBrand;

    /** 商品图片 */
    @Schema(description = "商品图片")
    private String productionImages;

    /** 商品分类 */
    @Schema(description = "商品分类")
    private String productionCategoriesId;

    /** 规格 */
    @Schema(description = "规格")
    private String productionSpec;

    /** 产地 */
    @Schema(description = "产地")
    private String productionOrigin;

    /** 单位 */
    @Schema(description = "单位")
    private String productionUnit;

    /** 辅助单位 */
    @Schema(description = "辅助单位")
    private String productionUnitAuxiliary;

    /** 采购单价 */
    @Schema(description = "采购单价")
    private BigDecimal productionPriceProcure;

    /** 最近采购单价 */
    @Schema(description = "最近采购单价")
    private BigDecimal productionPriceProcureLast;

    /** 销售单价 */
    @Schema(description = "销售单价")
    private BigDecimal productionPriceSale;

    /** 批发单价 */
    @Schema(description = "批发单价")
    private BigDecimal productionPriceWhole;

    /** 最低销售单价 */
    @Schema(description = "最低销售单价")
    private BigDecimal productionPriceLimit;

    /** 零售价 */
    @Schema(description = "零售价")
    private BigDecimal productionPriceRetail;

    /** 是否启用客户等级价格 */
    @Schema(description = "是否启用客户等级价格")
    private String productionPriceCustomTypeSwitch;

    /** 客户等级价格 */
    @Schema(description = "客户等级价格")
    private String productionPriceCustomType;

    /** 是否线上销售 */
    @Schema(description = "是否线上销售")
    private String productionOnlineSwitch;

    /** 是否计库存 */
    @Schema(description = "是否计库存")
    private String productionIsstock;

    /** 库存 */
    @Schema(description = "库存")
    private BigDecimal productionStock;

    /** 库存上限 */
    @Schema(description = "库存上限")
    private BigDecimal productionStockUp;

    /** 库存下限 */
    @Schema(description = "库存下限")
    private BigDecimal productionStockLow;

    /** 保质期 */
    @Schema(description = "保质期")
    private Integer productionExp;

    /** 主供应商 */
    @Schema(description = "主供应商")
    private String productionSupplierMain;

    /** 供应商列表 */
    @Schema(description = "供应商列表")
    private String productionSupplierList;

    /** 商品标签 */
    @Schema(description = "商品标签")
    private String productionTag;

    /** 商品描述 */
    @Schema(description = "商品描述")
    private String productionDescribe;

    /** 商品状态 */
    @Schema(description = "商品状态")
    private String productionStatus;

    /** 一品多码 */
    @Schema(description = "一品多码")
    private String productionHasextbarcode;

    /** 排序码 */
    @Schema(description = "排序码")
    private Integer sortCode;

    /** 扩展信息 */
    @Schema(description = "扩展信息")
    private String extJson;

    /** 数据归属 */
    @Schema(description = "数据归属")
    private String companyId;

}
